package com.itheima;
/*
面向对象：
    三大特征：
        封装--隐藏属性及其实现细节，仅提供对外公共的访问方式

        继承
            是类与类之间产生一个子父类的关系
            当我们定义子类时，不必 从头编写，子类就可以使用父类的非私有成员

            好处：
                  提高代码的复用性
                  提高代码的维护性，辩证性看待
                  子父类的关系多态的前提
            弊端：
                  继承是侵入性的强耦合性的，子类必须拥有父类非私有的属性
                  降低了代码的灵活性
                  增强了代码之间的耦合性
            什么时候使用继承：
                  两个类在体现is a关系
            特点：
                  java中只支持单继承，不支持多继承，支持多层继承
                  避免多继承产生的调用不明确
             成员变量
                   子父类中的成员变量使用--就近原则
             super:
                    理解为父类对象的引用
                    父类成员初始化之后所占用的空间
             成员方法
                    就近原则--找父类--super.
                 方法重写

             构造方法
        多态

     static：
     含义：修饰成员变量及方法
            属于类的成员，被类的所有对象共享

      特点
            随着累的产生而产生
            静态只能被静态访问，类名.方法名（变量名）

      局部代码块：
      方法中出现的一对大括号。用于限制变量的生命周期
      构造代码块：
      出现在类中方法外的一对大括号，用于抽取多个构造方法中的重复方法
      每次创建对象都会执行，优先于构造方法执行
      静态代码块
      类中方法外的一对大括号，static修饰
      随着类的加载，代码块就执行，用于一些初始化动作

      静态代码块：随着类的加载这行，只执行一次
      构造代码块:每次创建对象执行
      构造方法:没new一次对象都会执行一次
      静态代码块-->构造代码块-->构造方法


 */
public class Demo {
    public static void main(String[] args) {
        System.out.println("sss");
    }
}
